/**
 * The contents of this file are subject to the OpenMRS Public License
 * Version 1.0 (the "License"); you may not use this file except in
 * compliance with the License. You may obtain a copy of the License at
 * http://license.openmrs.org
 *
 * Software distributed under the License is distributed on an "AS IS"
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
 * License for the specific language governing rights and limitations
 * under the License.
 *
 * Copyright (C) OpenMRS, LLC.  All Rights Reserved.
 */

package org.openmrs.module.clinicalsummary.rule.post;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class AntenatalStudyRandomizer {

	private static final Log log = LogFactory.getLog(AntenatalStudyRandomizer.class);

	private static final String RANDOM_NUMBER_PROPERTY = "clinicalsummary.antenatal.study.randomizer";

	private static AntenatalStudyRandomizer ourInstance;

	private StudyRandomizer randomizer;

	private AntenatalStudyRandomizer() {
		randomizer = new StudyRandomizer(RANDOM_NUMBER_PROPERTY);
	}

	private static synchronized AntenatalStudyRandomizer getInstance() {
		if (ourInstance == null)
			ourInstance = new AntenatalStudyRandomizer();
		return ourInstance;
	}

	private static synchronized void removeInstance() {
		ourInstance = null;
	}

	private Integer getInternalRandomizedValue() {
		return randomizer.getRandomizedValue();
	}

	public static Integer getRandomizedValue() {
		return getInstance().getInternalRandomizedValue();
	}

}
